#include <iostream>
using namespace std;


class A
{
public:
	 A(int a = 4)
		:_a(a)
	{
		cout << "A(int a = 4)" << endl;
	}

	A(const A& a)
	{
		_a = a._a;
		cout << "A(const A& a)" << endl;
	}
	A& operator=(const A& a)
	{
		if (this != &a)
		{
			_a = a._a;
			cout << "A& operator=(const A& a)" << endl;
		}
		return *this;
	}
private:
	int _a;
};

void f1(A a)
{}

A f2()
{
	A aa;
	return aa;
}

int main()
{
	A a;
	a = f2();
}



